package com.manager.devicemanager.util;

import com.alibaba.fastjson2.JSONObject;

import java.awt.geom.PathIterator;
import java.util.Set;

public class StringDealUtils {

    /**
     * 处理字符串，去掉方括号和引号
     * @param str 原始字符串
     * @return 处理后的字符串
     */
    public static String dealIComponentString(String str) {
        if (str == null) {
            return null;
        }
        return str.replace("]", "").replace("[", "").replaceAll("\"", "").replaceAll(" ", "");
    }


    public static  Integer[] dealICComponentStringToArray(String jsonData) {
        // 判断结果是否为JSON格式或单值
        boolean isJson = jsonData != null &&
                (jsonData.trim().startsWith("{") || jsonData.trim().startsWith("["));
//                String dataType = isJson ? "JSON" : "单值";
//                System.out.println("数据类型: " + dataType);
        // 处理JSON数据：补全1-48组件状态（缺失项默认为0-正常）
        Integer[] status=new Integer[48];
        for (int i = 0; i < 48; i++) {
            status[i]=0;
        }
        if (isJson) {
            JSONObject jsonObject = JSONObject.parseObject(jsonData);
            Set<String> keys = jsonObject.keySet();
            for (String key : keys) {
                int componentId = Integer.parseInt(key);
                // 缺失的组件ID默认状态为0（正常）
                int statusCode = jsonObject.getIntValue(""+componentId, 0);
                status[componentId-1]=statusCode;
            }

        }
        return status;

    }
    /**
     * 处理字符串，去掉方括号和引号
     * @param str 原始字符串
     * @return 处理后的字符串
     */
    public static String dealDPComponentString(String str) {
        if (str == null) {
            return null;
        }
        return str.replaceAll("\"", "");
    }
}
